package com.ruoyi.train.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;


/**
 * 提交考试申请对象 exam_application
 * 
 * @author wusihao
 * @date 2023-03-26
 */
public class ExamApplication
{
    private static final long serialVersionUID = 1L;

    /** 内部id */
    private Long id;

    /** 申报单位公章 */
    @Excel(name = "申报单位公章")
    private String applicationUnitSheet;

    @Excel(name = "成绩汇总表（附件）")
    private String gradeSet;

    @Excel(name = "考场情况记录表（附件）")
    private String examplaceRecord;

    /** 申办人数 */
    @Excel(name = "申办人数")
    private Integer sum;

    /** 报送日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "报送日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date sendTime;

    /** 考试参加人数 */
    @Excel(name = "考试参加人数")
    private Long examSum;

    /** 考试类别 */
    @Excel(name = "考试类别")
    private String examKind;

    /** 考试地点 */
    @Excel(name = "考试地点")
    private String examPlace;

    private String examApplicationPdf; // 考试申请表pdf

    /** 理论考试开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "理论考试开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date examStartTime;

    /** 理论考试结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "理论考试结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date examEndTime;

    /** 理论补考开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "理论补考开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reviewStartTime;

    /** 理论补考结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "理论补考结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reviewEndTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "实操考试开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date operationExamStartTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "实操考试结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date operationExamEndTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "实操不考开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date operationReviewStartTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "实操补考结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date operationReviewEndTime;

    /** 审核人id;关联用户id */
    private Long auditId;



    /** 审批人id;关联用户id */
    private Long approvalId;

    /** 考试机构盖章;关联用户id */
    private Long examOperationSheet;


    /** 审批流程标志 */
    private Long approvalProcessSign;

    /** 逻辑删除标志 */
    private Long isDeleted;

    /** 创建者id;关联用户id */
    private Long createId;

    /** 修改者id;关联用户id */
    private Long updateId;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    private String classTerm;

    private Integer isPass; // 考试申请审批是否通过

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;


    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public void setId(Long id) 
    {
        this.id = id;
    }

    public String getClassTerm() {
        return classTerm;
    }

    public void setClassTerm(String classTerm) {
        this.classTerm = classTerm;
    }

    public Long getId()
    {
        return id;
    }

    public Date getOperationExamStartTime() {
        return operationExamStartTime;
    }

    public void setOperationExamStartTime(Date operationExamStartTime) {
        this.operationExamStartTime = operationExamStartTime;
    }

    public Integer getIsPass() {
        return isPass;
    }

    public void setIsPass(Integer isPass) {
        this.isPass = isPass;
    }


    public Date getOperationExamEndTime() {
        return operationExamEndTime;
    }

    public void setOperationExamEndTime(Date operationExamEndTime) {
        this.operationExamEndTime = operationExamEndTime;
    }


    public Date getOperationReviewStartTime() {
        return operationReviewStartTime;
    }

    public void setOperationReviewStartTime(Date operationReviewStartTime) {
        this.operationReviewStartTime = operationReviewStartTime;
    }

    public Date getOperationReviewEndTime() {
        return operationReviewEndTime;
    }

    public void setOperationReviewEndTime(Date operationReviewEndTime) {
        this.operationReviewEndTime = operationReviewEndTime;
    }

    public void setApplicationUnitSheet(String applicationUnitSheet)
    {
        this.applicationUnitSheet = applicationUnitSheet;
    }

    public String getApplicationUnitSheet() 
    {
        return applicationUnitSheet;
    }

    public String getGradeSet() {
        return gradeSet;
    }

    public void setGradeSet(String gradeSet) {
        this.gradeSet = gradeSet;
    }

    public String getExamplaceRecord() {
        return examplaceRecord;
    }

    public void setExamplaceRecord(String examplaceRecord) {
        this.examplaceRecord = examplaceRecord;
    }

    public void setSum(Integer sum)
    {
        this.sum = sum;
    }

    public Integer getSum()
    {
        return sum;
    }
    public void setSendTime(Date sendTime)
    {
        this.sendTime = sendTime;
    }

    public Date getSendTime()
    {
        return sendTime;
    }
    public void setExamSum(Long examSum) 
    {
        this.examSum = examSum;
    }

    public Long getExamSum() 
    {
        return examSum;
    }
    public void setExamKind(String examKind) 
    {
        this.examKind = examKind;
    }

    public String getExamKind() 
    {
        return examKind;
    }
    public void setExamPlace(String examPlace) 
    {
        this.examPlace = examPlace;
    }

    public String getExamPlace() 
    {
        return examPlace;
    }
    public void setExamStartTime(Date examStartTime)
    {
        this.examStartTime = examStartTime;
    }

    public Date getExamStartTime()
    {
        return examStartTime;
    }
    public void setExamEndTime(Date examEndTime) 
    {
        this.examEndTime = examEndTime;
    }

    public Date getExamEndTime()
    {
        return examEndTime;
    }
    public void setReviewStartTime(Date reviewStartTime) 
    {
        this.reviewStartTime = reviewStartTime;
    }

    public Date getReviewStartTime()
    {
        return reviewStartTime;
    }
    public void setReviewEndTime(Date reviewEndTime)
    {
        this.reviewEndTime = reviewEndTime;
    }

    public Date getReviewEndTime()
    {
        return reviewEndTime;
    }

    public void setAuditId(Long auditId)
    {
        this.auditId = auditId;
    }

    public Long getAuditId()
    {
        return auditId;
    }
    public void setApprovalId(Long approvalId) 
    {
        this.approvalId = approvalId;
    }

    public Long getApprovalId() 
    {
        return approvalId;
    }



    public Long getExamOperationSheet() {
        return examOperationSheet;
    }

    public void setExamOperationSheet(Long examOperationSheet) {
        this.examOperationSheet = examOperationSheet;
    }

    public void setApprovalProcessSign(Long approvalProcessSign)
    {
        this.approvalProcessSign = approvalProcessSign;
    }

    public Long getApprovalProcessSign() 
    {
        return approvalProcessSign;
    }
    public void setIsDeleted(Long isDeleted) 
    {
        this.isDeleted = isDeleted;
    }

    public Long getIsDeleted() 
    {
        return isDeleted;
    }
    public void setCreateId(Long createId) 
    {
        this.createId = createId;
    }

    public Long getCreateId() 
    {
        return createId;
    }
    public void setUpdateId(Long updateId) 
    {
        this.updateId = updateId;
    }

    public String getExamApplicationPdf() {
        return examApplicationPdf;
    }

    public void setExamApplicationPdf(String examApplicationPdf) {
        this.examApplicationPdf = examApplicationPdf;
    }

    public Long getUpdateId()
    {
        return updateId;
    }

    @Override
    public String toString() {
        return "ExamApplication{" +
                "id=" + id +
                ", applicationUnitSheet='" + applicationUnitSheet + '\'' +
                ", gradeSet='" + gradeSet + '\'' +
                ", examplaceRecord='" + examplaceRecord + '\'' +
                ", sum=" + sum +
                ", sendTime=" + sendTime +
                ", examSum=" + examSum +
                ", examKind='" + examKind + '\'' +
                ", examPlace='" + examPlace + '\'' +
                ", examApplicationPdf='" + examApplicationPdf + '\'' +
                ", examStartTime=" + examStartTime +
                ", examEndTime=" + examEndTime +
                ", reviewStartTime=" + reviewStartTime +
                ", reviewEndTime=" + reviewEndTime +
                ", operationExamStartTime=" + operationExamStartTime +
                ", operationExamEndTime=" + operationExamEndTime +
                ", operationReviewStartTime=" + operationReviewStartTime +
                ", operationReviewEndTime=" + operationReviewEndTime +
                ", auditId=" + auditId +
                ", approvalId=" + approvalId +
                ", examOperationSheet=" + examOperationSheet +
                ", approvalProcessSign=" + approvalProcessSign +
                ", isDeleted=" + isDeleted +
                ", createId=" + createId +
                ", updateId=" + updateId +
                ", createTime=" + createTime +
                ", classTerm='" + classTerm + '\'' +
                ", isPass=" + isPass +
                ", updateTime=" + updateTime +
                '}';
    }
}
